package org.agile4j.patterns.command.pc;

/**
 * 机箱对象, 本身有按钮, 持有按钮对应的命令
 * @author user
 *
 */
public class Box {

	/**
	 * 开机命令对象
	 */
	private Command openCommand;

	/**
	 * 设置开机命令对象
	 * @param command 开机命令对象
	 */
	public void setOpenCommand(Command command) {
		this.openCommand = command;
	}

	/**
	 * 提供给客户使用,接收并响应用户要求,相当于按钮被按下触发的功能
	 */
	public void openButtonPressed() {
		// 按下按钮, 执行命令.
		this.openCommand.execute();
	}
	
	/**
	 * 重启命令对象
	 */
	private Command resetCommand ;
	
	public void setResetCommand(Command command){
		this.resetCommand = command ;
	}
	public void resetButtonPressessed(){
		this.resetCommand.execute();
	}
}
